// pages/volunteers/addTask/addTask.js
Page({
  data: {
    formData: {
      serviceName: '',
      serviceDate: '',
      serviceTime: '',
      location: '',
      serviceObject: '',
      contact: '',
      responsible: '',
      remarks: '',
      rating: '',
      note: ''
    }
  },

  // 输入框内容变化处理
  onInput(e) {
    const { field } = e.currentTarget.dataset;
    const { value } = e.detail;
    this.setData({
      [`formData.${field}`]: value
    });
  },

  // 日期选择处理
  onDateChange(e) {
    this.setData({
      'formData.serviceDate': e.detail.value
    });
  },

  // 评分选择处理
  onRatingChange(e) {
    const { rating } = e.currentTarget.dataset;
    this.setData({
      'formData.rating': rating
    });
  },

  // 表单提交处理
  onSubmit() {
    const { formData } = this.data;
    
    // 验证必填字段
    if (!formData.serviceName) {
      wx.showToast({
        title: '请输入服务项目',
        icon: 'none'
      });
      return;
    }
    
    if (!formData.serviceDate) {
      wx.showToast({
        title: '请选择服务日期',
        icon: 'none'
      });
      return;
    }
    
    if (!formData.serviceTime) {
      wx.showToast({
        title: '请输入服务时间',
        icon: 'none'
      });
      return;
    }
    
    if (!formData.location) {
      wx.showToast({
        title: '请输入服务地点',
        icon: 'none'
      });
      return;
    }
    
    if (!formData.serviceObject) {
      wx.showToast({
        title: '请输入服务对象',
        icon: 'none'
      });
      return;
    }
    
    if (!formData.contact) {
      wx.showToast({
        title: '请输入联系方式',
        icon: 'none'
      });
      return;
    }
    
    if (!formData.responsible) {
      wx.showToast({
        title: '请输入区域负责人',
        icon: 'none'
      });
      return;
    }

    // 模拟保存成功
    wx.showToast({
      title: '保存成功',
      icon: 'success'
    });

    // 这里可以调用实际的API保存数据
    console.log('表单数据:', formData);
  },

  // 清空表单
  onReset() {
    this.setData({
      formData: {
        serviceName: '',
        serviceDate: '',
        serviceTime: '',
        location: '',
        serviceObject: '',
        contact: '',
        responsible: '',
        remarks: '',
        rating: ''
      }
    });
  }
});